.button {
  background: #2ca0d9;
  color: white;
  letter-spacing: 2px;
  position: relative;
  display: flex;
}

.button .icon {
  background: #fff;
  padding: 2px;
  box-sizing: border-box;
  height: 25px;
  width: 25px;
  border-radius: 50%;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 5px;
  transition: all 0.5s;
}

.icon svg {
  transition: all 0.5s;
  color: #2ca0d9;
  width: 80%;
  height: 80%;
}

.button:hover .icon svg {
  transform: rotate(360deg);
}

.button:hover .icon {
  width: calc(100% - 10px);
  border-radius: 5px;
}
